The present invention relates generally to mass digital data storage systems, and, more particularly, to systems and methods for using memories of limited endurance in situations requiring higher endurance levels.
The use of non-volatile memory systems, such as EEPROM memory or flash memory storage systems is increasing due to the compact physical size of such memory systems, and the ability for non-volatile memory to be repetitively reprogrammed. The compact physical size of flash memory storage systems facilitates the use of such storage systems in devices that are becoming increasingly prevalent. Devices using flash memory storage systems include, but are not limited to, digital cameras, digital camcorders, digital music players, handheld personal computers, and global positioning devices. The ability to repetitively reprogram non-volatile memory included in flash memory storage systems enables flash memory storage systems to be used and reused.
Although non-volatile memory or, more specifically, non-volatile memory storage cells such as those within EEPROM or flash memory systems may be repetitively programmed and erased, each cell or physical location may only be erased a certain number of times before the cell wears out. In some systems, a cell may be erased up to approximately ten thousand times before the cell is considered to be unusable. In other systems, a cell may be erased up to approximately one hundred thousand times or even up to a million times before the cell is considered to be worn out. When a cell is worn out, thereby causing a loss of use or a significant degradation of performance to a portion of the overall storage volume of the flash memory system, a user of the flash memory system may be adversely affected, as for example through the loss of stored data or the inability to store data.
The wear on cells, or physical locations, within a flash memory system varies depending upon how often each of the cells is programmed. If a cell or, more generally, a memory element, is programmed once and then effectively never reprogrammed, the wear associated with that cell will generally be relatively low. However, if a cell is repetitively written to and erased, the wear associated with that cell will generally be relatively high. As logical block addresses (LBAs) are used by hosts, e.g., systems which access or use a flash memory system, to access data stored in a flash memory system, if a host repeatedly uses the same LBAs to write and overwrite data, the same physical locations or cells within the flash memory system are repeatedly written to and erased, as will be appreciated by those of skill in the art.
When some cells are effectively worn out while other cells are relatively unworn, the existence of the worn out cells generally compromises the overall performance of the flash memory system. In addition to degradation of performance associated with worn out cells themselves, the overall performance of the flash memory system may be adversely affected when an insufficient number of cells which are not worn out are available to store desired data. Often, a flash memory system may be deemed unusable when a critical number of worn out cells are present in the flash memory system, even when many other cells in the flash memory system are relatively unworn.
These limitations can restrict the use of non-volatile memories with similar properties, in applications requiring an endurance level that may exceed the safe lifetime of the memory. For example, it is often desirable to have form of non-volatile memory on the controller of a memory card system for use as, say, a counter for use in monitoring operations in the system. As such, the non-volatile memory on the controller can be subjected to a much higher frequency of write or erase/write cycles than the memory cells in the memory portion. Consequently, if formed of the same memory technology as the memory, the non-volatile memory cells on the controller are likely to wear out sooner, ending or restricting the operability of the memory system before the main flash memory portion wears out. Further, as any non-volatile memory on the controller is likely to be relatively small, these is less latitude for re-mapping and other defect management techniques for increasing the lifetime.
Therefore, what is desired is a method and an apparatus for improving the longevity of non-volatile memories of limited lifetime. Although technological advances have improved the typical endurance of such memory elements, there still exist applications that could greatly benefit from ways to further increase the safe lifetime for such memories.